#include <stdio.h>
#include "genpat.h"

main() {
 
  DEF_GENPAT("test_hazards_unit");

  DECLAR("curr_inst_i"    ,":2","B", IN   ,	"11 downto 0"  , "");
  DECLAR("next_inst_i"    ,":2","B", IN   ,	"11 downto 0"  , "");
  DECLAR("hazard_o"   ,":2","B", OUT  ,		  ""	  , "");
  
  DECLAR("vdd"        ,":2","B", IN   ,	      ""      , "");
  DECLAR("vss"        ,":2","B", IN   ,	      ""      , "");

  LABEL("hazards_unit");
  
  SETTUNIT("ns");
  AFFECT("0" , "vdd"	, "1"); 
  AFFECT("0" , "vss"	, "0");
  
  // //Actual:es Vectorial Proximo: Vectorial y no hay dependencia 
  AFFECT("0"    , "curr_inst_i"     , "0b000011000100");
  AFFECT("0"    , "next_inst_i"     , "0b000100000100");

  //  //Actual:es Vectorial Proximo: Vectorial y no hay dependencia 
  AFFECT("50"    , "curr_inst_i"	, "0b000011000100");
  AFFECT("50"    , "next_inst_i"	, "0b000111000100");

  //Actual:es Vectorial Proximo: Vectorial y hay dependencia 
  AFFECT("100"    , "curr_inst_i"	, "0b000011000100");
  AFFECT("100"    , "next_inst_i"	, "0b000111111100");

  //Actual:es Vectorial Proximo: Constante y no hay dependencia 
  AFFECT("150"    , "curr_inst_i"	, "0b000011000100");
  AFFECT("150"    , "next_inst_i"	, "0b100111001100");

  //Actual:es Vectorial Proximo: Constante y hay dependencia 
  AFFECT("200"    , "curr_inst_i"	, "0b000011000100");
  AFFECT("200"    , "next_inst_i"	, "0b100111111100");

  ////Actual:es Vectorial Proximo: Store y hay dependencia 
  AFFECT("250"    , "curr_inst_i"	, "0b000011000100");
  AFFECT("250"    , "next_inst_i"	, "0b110011001100");

   //Actual:es Vectorial Proximo: Store y no hay dependencia 
  AFFECT("300"    , "curr_inst_i"	, "0b000011000100");
  AFFECT("300"    , "next_inst_i"	, "0b110010001100");

  ////Actual: FFT Proximo: Vectorial y no hay dependencia
  AFFECT("350"    , "curr_inst_i"	, "0b111101000100");
  AFFECT("350"    , "next_inst_i"	, "0b000111111100");

  ////Actual: FFT Proximo: Vectorial y hay hay dependencia
  AFFECT("350"    , "curr_inst_i"	, "0b111101000100");
  AFFECT("350"    , "next_inst_i"	, "0b000111110100");

  
    SAV_GENPAT();

  exit(0);
}
